package org.zjx.util;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.TypeReference;

import java.util.Map;

/**
 * JSON工具类，基于FastJSON实现
 */
public class JsonUtils {

    /**
     * 将JSONObject转换为Map
     * @param jsonObject JSON对象
     * @return 转换后的Map
     */
    public static Map<String, Object> toMap(JSONObject jsonObject) {
        return JSON.parseObject(jsonObject.toJSONString(), new TypeReference<Map<String, Object>>() {});
    }

    /**
     * 将JSON字符串转换为JSONObject
     * @param jsonString JSON字符串
     * @return 转换后的JSONObject
     */
    public static JSONObject toJsonObject(String jsonString) {
        return JSON.parseObject(jsonString);
    }

    /**
     * 将对象转换为JSON字符串
     * @param object 要转换的对象
     * @return JSON字符串
     */
    public static String toJsonString(Object object) {
        return JSON.toJSONString(object);
    }

    /**
     * 格式化JSON字符串
     * @param jsonString JSON字符串
     * @return 格式化后的JSON字符串
     */
    public static String formatJson(String jsonString) {
        return JSON.toJSONString(JSON.parse(jsonString));
    }
}